package com.sinaapp.mspring.service;

import java.io.Serializable;

/**
 * 基础业务接口
 * 
 * @author binchao 
 * 2016年3月12日
 */
public interface BaseServiceI<T, ID extends Serializable> {

	/**
	 * 根据主键删除
	 * @param id
	 * @return
	 */
	int deleteByPrimaryKey(ID id);

	/**
	 * 保存记录
	 * @param record
	 * @return
	 */
	int insert(T record);

	/**
	 * 保存记录（只保存不为null的列）
	 * @param record
	 * @return
	 */
	int insertSelective(T record);

	/**
	 * 查询记录
	 * @param id
	 * @return
	 */
	T selectByPrimaryKey(ID id);

	/**
	 * 更新记录
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(T record);

	/**
	 * 更新记录
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeyWithBLOBs(T record);

	/**
	 * 更新记录
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(T record);

}
